package com.myhkvideo.yulongbpcdemo.mapper;

import com.myhkvideo.yulongbpcdemo.entity.EffectDayInfoData;
import org.apache.ibatis.annotations.*;

import java.util.Date;
@Mapper
public interface EffectDayInfoMapper {

    /**
     * 检查数据是否存在
     * @param createTime 创建时间
     * @return 存在返回 1，不存在返回 0
     */
    @Select("SELECT COUNT(*) FROM DayProductData WHERE 时间 = #{createTime}")
    int checkDataExists(Date createTime);

    /**
     * 插入新数据
     * @param data 数据对象
     */
    @Insert("INSERT INTO DayProductData (ID, 时间, 一车间1#磨机处理量, 一车间1#磨机运行时长, 一车间1#磨机台效, 一车间2#磨机处理量, 一车间2#磨机运行时长, 一车间2#磨机台效, 一车间3#磨机处理量, 一车间3#磨机运行时长, 一车间3#磨机台效, 一车间4#磨机处理量, 一车间4#磨机运行时长, 一车间4#磨机台效, 二车间磨机处理量, 二车间磨机运行时长, 二车间磨机台效, 冶炼厂处理量, 冶炼厂运行时长, 冶炼厂台效) " +
            "VALUES (#{id}, #{createTime}, #{d_ycjone_cll}, #{d_ycjone_sc}, #{d_ycjone_tx}, #{d_ycjtwo_cll}, #{d_ycjtwo_sc}, #{d_ycjtwo_tx}, #{d_ycjthree_cll}, #{d_ycjthree_sc}, #{d_ycjthree_tx}, #{d_ycjfour_cll}, #{d_ycjfour_sc}, #{d_ycjfour_tx}, #{d_ecj_cll}, #{d_ecj_sc}, #{d_ecj_tx}, #{d_ylc_cll}, #{d_ylc_sc}, #{d_ylc_tx})")
    @Options(useGeneratedKeys = true, keyProperty = "id")
    void insertData(EffectDayInfoData data);

    /**
     * 更新现有数据
     * @param data 数据对象
     */
    @Update("UPDATE DayProductData SET 一车间1#磨机处理量 = #{d_ycjone_cll}, 一车间1#磨机运行时长 = #{d_ycjone_sc}, 一车间1#磨机台效 = #{d_ycjone_tx}, 一车间2#磨机处理量 = #{d_ycjtwo_cll}, 一车间2#磨机运行时长 = #{d_ycjtwo_sc}, 一车间2#磨机台效 = #{d_ycjtwo_tx}, 一车间3#磨机处理量 = #{d_ycjthree_cll}, 一车间3#磨机运行时长 = #{d_ycjthree_sc}, 一车间3#磨机台效 = #{d_ycjthree_tx}, 一车间4#磨机处理量 = #{d_ycjfour_cll}, 一车间4#磨机运行时长 = #{d_ycjfour_sc}, 一车间4#磨机台效 = #{d_ycjfour_tx}, 二车间磨机处理量 = #{d_ecj_cll}, 二车间磨机运行时长 = #{d_ecj_sc}, 二车间磨机台效 = #{d_ecj_tx}, 冶炼厂处理量 = #{d_ylc_cll}, 冶炼厂运行时长 = #{d_ylc_sc}, 冶炼厂台效 = #{d_ylc_tx} WHERE 时间 = #{createTime}")
    void updateData(EffectDayInfoData data);
}